$(function () {
  // 首页数据动态渲染
  // 渲染： 取数据 + 模板
  // 1- ajax去后台获取用户的数据
  // 2- 通过模板引擎渲染到页面中
  var currentpage = 1;
  var pageSize = 4;
  function render() {
    $.ajax({
      type: "get",
      url: "/user/queryUser",
      data: {
        page: currentpage,
        pageSize: pageSize,
      },
      dataType: "json",
      success: function (res) {
        console.log(res);
        var str = template('tmp', res);
        $('tbody').html(str);
        setPage(res.total);
      }
    })
  };
  render();

  // 点击启用/禁用按钮 获取当前用户的id以及确定按钮的状态 1 / 0
  // 弹出模态框 点击确定按钮后 发送给后台操作
  // 接收后台响应 前端页面重新渲染
  // 事件委托
  var id = null;
  var isDelete = null;
  $('tbody').on('click', '.btn', function () {
    id = $(this).parent().attr('data-id');
    isDelete = $(this).hasClass('btn-success') ? 1 : 0;
    // console.log(id, isDelete);
  });

  // 点击模态框的确定按钮 向后台发送请求
  $('.btn-ok').click(function () {
    $.ajax({
      type: "post",
      url: "/user/updateUser",
      data: {
        id: id,
        isDelete: isDelete,
      },
      dataType: "json",
      success: function (res) {
        console.log(res);
        // 隐藏模态框
        $('.modal-user').modal('hide');
        // 页面重新渲染
        render();
      }
    });
  });

  // 数据分页
  // 如何实现分页：
  // 1 - 先获取后台数据库数据总数，(total) 根据数据库总数 来确定分页标签个数
  // 分页标签个数 = Math.ceil（数据的总数 / 每个数据条数） 
  // 2- 动态生成分页标签   bootstrapPaginator.js 
  function setPage(total) {
    // 使用插件生成分页标签
    $("#paginator").bootstrapPaginator({
      bootstrapMajorVersion: 3, //默认是2，如果是bootstrap3版本，这个参数必填
      currentPage: currentpage,//当前页
      totalPages: Math.ceil(total / pageSize), //总页数
      onPageClicked: function (event, originalEvent, type, page) {
        //为按钮绑定点击事件 page:当前点击的按钮值
        console.log(page);
        // 改变当前页取值 页面重新渲染
        currentpage = page;
        render();
      }
    })
  };
  // setPage(12); // 假数据
})